Arachne and PPP dialer


Arachne uses DOS packet driver interface to enable TCP/IP conectivity. This technology is not very progressive, but it's the only standard DOS offers. The packet driver is resident utility, similar to utilities like mouse driver or VESA driver. TCP/IP applications access packet driver using interrupt - usually it is 0x60 (60H). The packet driver for LAN is usually small program (named like ODIPKT.COM, or so). If you are using dial-up connection, you need program to "emulate" ehternet card controled by packet driver.

There are following ways to dial Internet from DOS known to me:


EtherPPP

EtherPPP is a single program - PPP.EXE. Arachne offers loading EtherPPP if ARACHNE.CFG file contains line Connection @PPP.EXE parameters>PPP.LOG.

EtherPPP uses CONFIG.PPP and DIAL.PPP files. Arachne creates these files for EtherPPP automaticaly, however, if you don't want to use Arachne built-in configurator, you can study EtherPPP documentation. But remember, the redirection to PPP.LOG file is the only way to pass IP address to Arachne when you use IP_Address PPP option. And you must use either fixed IP address or this option, because EtherPPP is not able to emulate BOOTP.

If you are user with only average knowledge of TCP/IP and DOS, I suggest using graphical PPP setup. If your provider uses PAP authentication (like Video On Line), just fill the correct values, click Ok, save and than restart Arachne.

You cannot use graphical setup in following three cases:

  1. Non-standart IRQ of your modem. You have to udpate the Connection keyword in ARACHNE.CFG manualy. For example if your internal 28800 bps modem is on COM3 and uses IRQ 7, you have to use Connection @PPP.EXE /c 3 /i 7 /s 38400 /d script>PPP.LOG.
  2. Insufficient low DOS memory. Common situation in Win95 (but if you are using Arachne, you are probably not using Win95). If you cannot optimize your AUTOEXEC.BAT and CONFIG.SYS (try QEMM packege or Dos 6.2, EMM386 and MEMMAKER utility - not included in Win95), and you don't have 450 kB for Arachne + 120 kB for EtherPPP, you will have to use different dialer (like Klos PPP).
  3. Your Internet provider requires you to log on the system. You must update file LOGIN.CFG. This file can seem tricky to people who are not friendly with C language, because it uses C-specific macros: %s are symbols replaced by certain ARACHNE.CFG values, and \n and \r are symbols for LF and CR codes. (\r equals to pressing Enter, \r\n equals to end of line in DOS text files.).

    Generally, the LOGIN.CFG is sequence of SEND (send string) and RECV (wait for string) commands. RECV includes time in miliseconds (1000 = 1 second) to wait for the specified string. The five %s macros are replaced by following strings: modem "init string" (InitString variable in ARACHNE. CFG), modem "dial command" (DialString variable), Phone number (PhoneNumber variable), user name (PPPusername variable) and password (PPPpassword variable).

    Here is theoretical LOGIN.CFG which I think should work almost everywhere. It's included in distribution package.

    send "ath\r"
    recv 1000 "OK\r\n"
    send "%s\r"
    recv 3000 "OK\r\n"
    send "%s,%s\r"
    recv 60000 ":"
    send "%s\r"
    recv 10000 ":"
    send "%s\rppp\rPPP\r"
    
    Note, that it tries both lowervase and uppercase PPP commands. It also ignores the difference between prompt "Login:", "login:", "Username:" and also between "Password:", "password:" and "xxx's password:". For Internet provider Cesnet, I recieved following LOGIN.CFG from one beta-tester:

    send "%s\r"
    recv 1000 "OK\r\n"
    send "%s,%s\r"
    recv 60000 "name:"
    send "%s\r"
    recv 60000 "word:"
    send "%s\r"
    recv 10000 ">"
    send "PPP\r"
    
    I think creating your own login script shouldn't be such a big problem. If you send me parametrs of your provider during registration, I will compile special Arachne configuration fitting your needs.

Klos PPP

Many people complained, that EtherPPP consumes too much low DOS memory. On some machines this can be problem. There is other dialer called Klos PPP, which can be loaded to high memory. The Klos PPP dialer comes with utility that updates WATTCP.CFG, so your ARACHNE.CFG can look like:
Connection @STARTPPP.BAT
Hangup @STOPPPP.BAT
IP_Address WATTCP
TCP_Config WATTCP.CFG

The batch STARTPPP.BAT can probably look like following (I recieved original from VE3LGS). You can exclude the 'LH' (loadhigh) commands optionaly. I didn't tested what the PPPMENU does in graphics mode; VE3LGS recommends to use rather Connection READY and execute STARTPPP.BAT before running Arachne.

CLS
LH LSL
LH PPP
LH IPSTUB 0x60
PPPMENU
PPPWAT

STOPPPP.BAT:

IPSTUB 0x60 UNLOAD
PPP u
LSL u

After creating and debugging batch files described above, you should be able to configure Arachne using simple graphical setup. I wanted to make the configuration as easy as possible, however, the problem is that you must know, what you are doing.


SLIPPER.EXE, CSLIPPER.EXE:

I have recieved e-mail, that CSLIPPER correctly emulates even BOOTP, so you can use Arachne same way as on LAN.
Return to main help page.